package com.taptech.doufu.util;

import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;

import com.taptech.doufu.app.WeMediaApplication;
import com.taptech.doufu.util.sp.DiaoBaoSharedPreferences;

/**
 * Created by Administrator on 2017/4/22/022.
 */
public class PackageUtils {
    public static final String versionName = "10.10.1";
    private static final String SP_KEY_VERSION_NAME = "app_version_name";

    public static boolean isNewApp(){
        String versionName = DiaoBaoSharedPreferences.getSharedPreferencesValueToString(SP_KEY_VERSION_NAME, WeMediaApplication.applicationContext, "");
        if (TextUtil.isEmpty(versionName)||!PackageUtils.versionName.equals(versionName)) {
            DiaoBaoSharedPreferences.setSharedPreferencesValueToString(SP_KEY_VERSION_NAME,PackageUtils.versionName,WeMediaApplication.applicationContext);
            return true;
        }else{
            return false;
        }
    }

    /**
     * 获取版本名称
     * @param context 上下文
     * @return 版本名称
     */
    public static String getVersionName(Context context){
        //获取包管理器
        PackageManager pm = context.getPackageManager();
        //获取包信息
        try {
            PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(),0);
            //返回版本号
            return packageInfo.versionName;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return null;
    } /**
     * 获取版本号
     * @param context 上下文
     * @return 版本号
     */
    public static int getVersionCode(Context context){
        //获取包管理器
        PackageManager pm = context.getPackageManager();
        //获取包信息
        try {
            PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(),0);
            //返回版本号
            return packageInfo.versionCode;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return 0;
    }
    /**
     * 获取App的名称
     * @param context 上下文
     * @return 名称
     */
    public static String getAppName(Context context){
        PackageManager pm = context.getPackageManager();
        //获取包信息
        try {
            PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(),0);
            //获取应用 信息
            ApplicationInfo applicationInfo = packageInfo.applicationInfo;
            //获取albelRes
            int labelRes = applicationInfo.labelRes;
            //返回App的名称
            return context.getResources().getString(labelRes);
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return null;
    }
}
